Extensible markup language (XML) is increasingly becoming the preferred format for transferring data. XML is a tag-based hierarchical language that is extremely rich in terms of the data that it can be used to represent. For example, XML can be used to represent data spanning the spectrum from semi-structured data (such as one would find in a word processing document) to generally structured data (such as that which is contained in a table). XML is well-suited for many types of communication including business-to-business and client-to-server communication. For more information on XML, XSLT, and XSD (schemas), the reader is referred to the following documents which are the work of, and available from the W3C (World Wide Web consortium): XML Schema Part 2: Datatypes; XML Schema Part 1: Structures, and XSL Transformations (XSLT) Version 1.0; and XML 1.0 second edition specification.
One of the reasons that data files written in XML are often preferred for transferring data is that XML data files contain data, rather than a combination of data and the software application needed to edit the data. One problem with XML data files, however, is that to edit an XML data file, a user needs to first install a solution software application used to access, view, and edit the data file.
When a user is online, his computer can run a host application capable of accessing the Internet, such as Microsoft® Internet Explorer®, which can silently discover and deploy an XSLT, which enables the user to author and access an XML data file.
If a user wishes to save an XML data file for later, offline use, however, the user may encounter various problems. In some cases, a user wishing to reopen an XML data file offline will not be able to do so because he can no longer discover and deploy the XML data file's solution application. The user can no longer discover a solution if he is no longer online and the solution is accessible only online. In other cases, a user can access and deploy the solution application, but to do so the user must proactively discover the solution's name and where on his computer it resides, which a user may not know. And sometimes, a user's host application discovers the solution's name and where it resides, but the user has to instruct his computer to deploy the solution application, rather than the computer automatically opening the solution file when the user attempts to open the corresponding XML data file.
Even in those cases where a user can continue to author and access an XML data file offline by actively installing the XML data file's solution application, there often is another problem. When a user instructs his host application to open a solution for an XML data file, his host application may trust the solution, thereby setting the user's computer at risk. A solution originally accessed online could, for instance, contain a virus or worm. When the user instructs his host application to install the solution, it could introduce the virus or worm.
For these reasons, editing data files offline can be inconvenient and dangerous.